package demo6;

import java.util.Arrays;
import java.util.concurrent.ThreadLocalRandom;

//模拟产生一个双色球的中奖号码
//红球 1-33: 6 不重复的,最终结果从小到大的
//蓝球 1-16: 1 nextInt(16)+1
//思路一:每次新加入一个红球的时候判断是否已经存在,不存在则添加成功
//思路二:模拟现实,从33个球中随机一个一个的取,取完的球从原球数组中删除
//思路三:随机排序后取前6个
//思路四:使用集合Set

public class Demo01 {
    private static final ThreadLocalRandom r=ThreadLocalRandom.current();
    public static void main(String[] args) {
        for (int x=0;x<100;x++) {
            int blue = 0;
            int[] red = new int[6];
            blue = r.nextInt(16)+1;
            randomIndex(red,0);
            Arrays.sort(red);

            System.out.println("篮球:"+blue);
            System.out.println("红球:"+Arrays.toString(red));
        }
    }
    private static void randomIndex(int[] red, int i) {
        if(red.length <=i) {
            return;
        }
        red[i]=r.nextInt(33)+1;
        for(int j=0; j<i;j++) {
            if(red[j] == red[i]) {
                randomIndex(red,i);
                return;
            }
        }
        randomIndex(red,i+1);
    }
}
